PanelTemplate = {
    'index_patterns': 'panel',
    'settings': {
        'number_of_replicas': 0,
        'number_of_shards': 1
    },
    'mappings': {
        'properties': {
            'title': {'type': 'keyword'},
            'description': {'type': 'text'},

            'source': {
                'properties': {
                    'id': {'type': 'keyword'},
                    'type': {'type': 'keyword'}
                }
            },  # 数据源
            'query': {
                'properties': {
                    'id': {'type': 'keyword'},
                    'type': {'type': 'keyword'}
                }
            },  # 查询条件
            'chart': {'type': 'object'},  # 图表展示配置
            'cron': {
                'properties': {
                    'type': {'type': 'keyword'},
                    'cron': {'type': 'object'}
                }
            },  # 定时任务
        }
    }
}

DashboardTemplate = {
    'index_patterns': 'dashboard',
    'settings': {
        'number_of_replicas': 0,
        'number_of_shards': 1
    },
    'mappings': {
        'properties': {
            'title': {'type': 'keyword'},
            'description': {'type': 'text'},
            'tag': {'type': 'object'},

            'panels': {
                'properties': {
                    'x': {'type': 'integer'},
                    'y': {'type': 'integer'},
                    'w': {'type': 'integer'},
                    'h': {'type': 'integer'},
                    'i': {'type': 'integer'},
                    'height': {'type': 'integer'},
                    'width': {'type': 'integer'},
                    'panel_id': {'type': 'keyword'},
                    'panel': PanelTemplate['mappings']
                }
            },
            'variables': {'type': 'object'},
            'mode_rw': {'type': 'integer'}
        }
    }
}


if __name__ == '__main__':
    pass
